iT邦幫忙

2022 iThome 鐵人賽

DAY 8
0

集合類型

Swift 語言提供數組(Array)、集合(Set)和字典(Dictionary)三種基本的集合類型用來存儲集合數據。數組是有序數據的集。集合是無序無重復數據的集。字典是無序的鍵值對的集。

數組(Arrays)

數組就是把相同 型別(Type) 放在一起的盒子,裡面的值可以重複出現在別的 數組(Array)裡面。
數組完整的寫法為 Array 而這之中的 Element 就是你裡面要裝的東西,也可是 [Element] 這樣
兩種實例化的方法都可以但我們之後都會用最短的方法。

var someInts: [Int] = []
// Int Type 的數組

而現在的 someInts 的數組裡面是空的 可以用下列的幾個程式碼改變他裡面的數量。

someInts.append(10)
// 這樣 someInts 裡面就會有一個 10 的數據
print(someInts.count)
// 如果把他 print 出來的話裡面就會是 1

someInts = []
// 這樣子的話就是直接把數組裡面清空

數組如果有想創建特定大小的數組,並且有默認的預設值,可以用下面的方法。

var threeDoubleArray(repeating: 0.0, count: 3)
//會等於下面的樣子
var threeDoubleArray: [Double] = [0.0, 0.0, 0.0]

然後數組也可像字串一樣兩個相加成為一個新的數組,前提是他們的型別要一樣。

var array1: [Int] = [0, 0, 0]

var array2: [Int] = [1, 2, 3]
    
var array3 = array1 + array2
// array3 = [0, 0, 0, 1, 2, 3]

訪問和修改數組

數組裡面有一些方法和屬性或使用下標語法來訪問或修改數組。

count 就跟他英文本身單字一樣,找數組裡面的項目數。

var array1: [Int] = [0, 0, 0]
print(array1.count)
// count = 3

isEmpty 是用 Bool 來檢查 count 是否等於 0

if shoppingList.isEmpty {
    print("The shopping list is empty.")
} else {
    print("The shopping list is not empty.")
}
// Prints "The shopping list is not empty."

append 用來加東西進去到數組裡。

var array1: [Int] = [0, 0, 0]

array1.append(1)
    
//array1 = [0, 0, 0, 1]

也可用 += 加入

array1 += [2]

// array1 = [0, 0, 0, 1, 2]

使用下標語法來拿到數組裡面的值,也可以配合區間運算符來拿到部分的值。

var a = array1[0]
var b = array1[4]
print(a)
// a = 0, b = 2
    
array1[0...1] = [0, 0]

insert(_:at:) 插入到數組的某一處。

array1.insert(1 ,at: 0)
// array1 = [1, 0, 0, 0, 1, 2]

同樣的 remove(at:) 可以幫你移除某一處的值。

array1.remove(at: 4)
// array1 = [1, 0, 0, 0, 2]

如果想要刪除最後一項的話,可以用 removelast() 來移除。

array1.removelast()
// array1 = [1, 0, 0, 0]

遍歷數組

您可以使用for-in循環遍歷數組中的整個值集:

for item in shoppingList {
    print(item)
}
// Six eggs
// Milk
// Flour
// Baking Powder
// Bananas

如果需要每個項目的整數索引及其值,可以使用enumerated()方法遍歷數組。

for (index, value) in shoppingList.enumerated() {
    print("Item \(index + 1): \(value)")
}
// Item 1: Six eggs
// Item 2: Milk
// Item 3: Flour
// Item 4: Baking Powder
// Item 5: Bananas

OK,今天就先這樣明天再繼續講下一個型別得集合類型


上一篇
30天的 iOS 修仙道路 (7) - 字串字符
下一篇
30天的 iOS 修仙道路 (9)
系列文
30天的 iOS 修仙道路 站穩腳步基礎篇30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言